﻿//////////////////////////////////////////////////////////////////////////////
//
//  Copyright © 1998-2024 Glodon Company Limited.  All rights reserved.
//
//  Use of this software is subject to the terms of the Glodon license
//  agreement provided at the time of installation or download, or which
//  otherwise accompanies this software in either electronic or hard copy form.  
//
//////////////////////////////////////////////////////////////////////////////


#pragma once

#include <string>

namespace gcmp
{
    class IUiView;

    /// \brief 用户拖放事件数据
    /// 用户可以派生该类，自定义需要拖放的数据
    class IUserDragEventData
    {
    public:

        /// \brief 数据有效性检测接口
        /// \param uiViewId IUiView 的 id (视口号)
        ///  用户可以在实现中检测数据在该视图下是否合法，并在该方法下设置提示信息
        /// \return bool 数据合法返回 true 不合法返回 false
        virtual bool IsDataValid(int  uiViewId) = 0;

        /// \brief 获得图片提示信息
        /// \ 该信息将在拖放过程中的提示信息中显示
        /// 
        /// \return 图片的路径
        virtual const std::wstring& GetPicturePath() const = 0;

        /// \brief 获得文字提示信息
        /// \ 该信息将在拖放过程中的提示信息中显示
        /// 
        /// \return 文本信息
        virtual const std::wstring& GetText() const = 0;


    };


}
